Filename | (eval 1115)[/usr/share/perl5/CGI.pm:932] |
Statements | Executed 6 statements in 40µs |
Eval Invoked At | /usr/share/perl5/CGI.pm line 932 |
Sibling evals | 1, 2, 3, 4 |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
0 | 0 | 0 | 0s | 0s | unescapeHTML | CGI::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package CGI; sub unescapeHTML { | ||||
2 | # hack to work around earlier hacks | ||||
3 | 1 | 1µs | push @_,$_[0] if @_==1 && $_[0] eq 'CGI'; | ||
4 | 1 | 14µs | 1 | 6µs | my ($self,$string) = CGI::self_or_default(@_); # spent 6µs making 1 call to CGI::self_or_default |
5 | 1 | 300ns | return undef unless defined($string); | ||
6 | 1 | 15µs | 1 | 2µs | my $latin = defined $self->{'.charset'} ? $self->{'.charset'} =~ /^(ISO-8859-1|WINDOWS-1252)$/i # spent 2µs making 1 call to CGI::CORE:match |
7 | : 1; | ||||
8 | # thanks to Randal Schwartz for the correct solution to this one | ||||
9 | 1 | 8µs | 1 | 2µs | $string=~ s[&([^\s&]*?);]{ # spent 2µs making 1 call to CGI::CORE:subst |
10 | local $_ = $1; | ||||
11 | /^amp$/i ? "&" : | ||||
12 | /^quot$/i ? '"' : | ||||
13 | /^gt$/i ? ">" : | ||||
14 | /^lt$/i ? "<" : | ||||
15 | /^#(\d+)$/ && $latin ? chr($1) : | ||||
16 | /^#x([0-9a-f]+)$/i && $latin ? chr(hex($1)) : | ||||
17 | "&$_;" | ||||
18 | }gex; | ||||
19 | 1 | 2µs | return $string; | ||
20 | } | ||||
21 | |||||
22 | ; |